// pages/register/register.js
import { getApi } from "../../utils/API.js"
import { randoms } from "../../utils/commonjs.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tel: '',
    pwd: '',
    checkpwd: '',
    yzm: '',
    checkyzm:'',
    yzmArr: []
  },



  //自定义函数
  //手机号
  inputtel(e) {
    // console.log(e.detail.value);
    this.setData({
      tel: e.detail.value
    })
  },
  //密码获取
  inputpwd(e) {

    this.setData({
      pwd: e.detail.value
    })
  },
  //再次验证密码
  inputcheckpwd(e) {
    this.setData({
      checkpwd: e.detail.value
    })
  },
  //验证码获取
  inputyzm(e) {
    this.setData({
      yzm: e.detail.value
    })
  },
  //出现随机的验证码
  goyzm() {
    let arr = [
      "0",
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "0",
      "A",
      "B",
      "C",
      "D",
      "E",
      "F",
      "G",
      "H",
      "I",
      "J",
      "K",
      "L",
      "M",
      "N",
      "O",
      "P",
      "Q",
      "R",
      "S",
      "T",
      "U",
      "V",
      "W",
      "X",
      "Y",
      "Z",
    ];
    let numArr =  randoms(0, arr.length, 4);
    let yzm = "";
    numArr.forEach((item) => {
      yzm += arr[item];
    });
    this.setData({
      checkyzm:yzm
    })
  },
  goregister() {
    // console.log(this.data.tel);
    // console.log(this.data.pwd);
    // console.log(this.data.checkpwd);
    // console.log(this.data.yzm);

    if (!( this.check(this.data.tel,this.data.pwd,this.data.checkpwd) )) {
      console.log(this.check())
      }else {
        let data = {
          tel: this.data.tel,
          pwd: this.data.pwd,
        }
        console.log(data)
      getApi("/register", data).then(res => {
        console.log("注册成功！")
        wx.showToast({
          title: "注册成功！",
          icon: 'success',
          duration:1000,
        })
        setTimeout(() => {
          wx.navigateTo({
            url: '../login/login'
          })
        }, 1000);
      }).catch(err => {
        console.log("接口传输失败")
      })
      }
    
  
  },
  check(telnum, pwdnum, checkpwdnum) {
    const telStr = /^[1](([3][0-9])|([4][0,1,4-9])|([5][0-3,5-9])|([6][2,5,6,7])|([7][0-8])|([8][0-9])|([9][0-3,5-9]))[0-9]{8}$/;
    const pwdStr = /^(?=.*[a-z_])(?=.*\d)(?=.*[^a-z0-9_])[\S]{8,}$/;
    if ( telnum == '' ) {
      this.setData({
        tel: '',
        warntel: "手机号码输入不能为空",
      })
      console.log(1)
      return false;
    
    }else if( pwdnum == '') {
      this.setData({
        pwd: '',
        warnpwd: "密码不能为空"
      })
      console.log(2)
      return false;
    }else if( checkpwdnum == '') {
      this.setData({
        checkpwd: '',
        warncheckpwd: "密码不能为空"
      })
      console.log(3)
      return false;
    }else if ( !(telStr.test(telnum))  ) {
      this.setData({
        tel: '',
        warntel: "手机号码输入不规范",
      })
      console.log(4)
      return false;
    }else if ( !(pwdStr.test(pwdnum)) ) {
      this.setData({
        pwd: '',
        warnpwd: "密码必须包含字母、数字和特殊字符，且长度要在8位以上",
      })
      console.log(5)
      return false;
    }else if ( pwdnum != checkpwdnum ) {
      this.setData({
        checkyzm:'',
        warncheckpwd: "两次密码必须一致"
      })
      console.log(6)
      return false;
    }else {
      return true;
    }
    // if ((telnum == '') || (pwdnum == '') || (checkpwdnum == '')) {
    //   this.setData({
    //     tel: '',
    //     pwd: '',
    //     checkpwd: '',
    //     yzm: '',
    //     warntel: "手机号码输入不能为空",
    //     warnpwd: "密码不能为空",
    //     warncheckpwd: "密码不能为空"
    //   })
    //   return false;
    // }
    // if ((!(telStr.test(telnum))) || (!(pwdStr.test(pwdnum))) || ( pwdnum != checkpwdnum)) {
    //   // console.log("手机号码输入不规范");
    //   this.setData({
    //     tel: '',
    //     pwd: '',
    //     warntel: "手机号码输入不规范",
    //     warnpwd: "密码必须包含字母、数字和特殊字符，且长度要在8位以上",
    //     warncheckpwd: "两次密码必须一致"
    //   })
    //   return false;
    // } else {
    //   return true;
    //   // console.log("手机号码输入规范");
    // }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.goyzm()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})